package com.ruoyi.system.domain.function;

import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.ToString;
import lombok.experimental.Accessors;
import com.ruoyi.common.annotation.Excel;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import java.io.Serializable;
import java.util.Date;
import java.math.BigDecimal;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 工单信息对象 prod_order
 *
 * @author ruoyi
 * @date 2023-02-13
 */
@Data
@ToString
@EqualsAndHashCode
@NoArgsConstructor
@Accessors(chain = true)
@TableName("prod_order")
public class ProdOrder implements Serializable {

private static final long serialVersionUID=1L;


    /** 工单主键id */
    @TableId(value = "order_id")
    private Long orderId;

    @ApiModelProperty(value = "华为任务令")
    private String taskTon;

    @ApiModelProperty(value = "计划编码")
    private String planCode;

    /** 交货日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty(value = "交货日期 yyyy-MM-dd")
    private Date deliveryTime;

    /** 工单编码 */
    @ApiModelProperty(value = "工单编码")
    @Excel(name = "工单编码")
    private String orderCode;

    /** 物料编码 */
    @ApiModelProperty(value = "物料编码")
    @Excel(name = "物料编码")
    private String materialCode;

    /** 物料名称 */
    @ApiModelProperty(value = "物料名称")
    @Excel(name = "物料名称")
    private String materialName;

    /** 产品编码 */
    @ApiModelProperty(value = "产品编码")
    @Excel(name = "产品编码")
    private String productCode;

    /** 产线编码 */
    @ApiModelProperty(value = "产线编码")
    @Excel(name = "产线编码")
    private String lineCode;

    /** 产线名称 */
    @ApiModelProperty(value = "产线名称")
    @Excel(name = "产线名称")
    private String lineName;

    /** 工艺路线编码 */
    @ApiModelProperty(value = "工艺路线编码")
    @Excel(name = "工艺路线编码")
    private String routingCode;

    /** 工艺路线名称 */
    @ApiModelProperty(value = "工艺路线名称")
    @Excel(name = "工艺路线名称")
    private String routingName;

    /** 计划号 */
    @ApiModelProperty(value = "计划号")
    @Excel(name = "计划号")
    private String planNum;

    /** 计划开始时间 */
    @ApiModelProperty(value = "计划开始时间")
    @Excel(name = "计划开始时间" , width = 30, dateFormat = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date startTime;

    /** 计划结束时间 */
    @ApiModelProperty(value = "计划结束时间")
    @Excel(name = "计划结束时间" , width = 30, dateFormat = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date endTime;

    /** 工单数量 */
    @ApiModelProperty(value = "工单数量")
    @Excel(name = "工单数量")
    private Long orderNumber;

    /** 完工数量 */
    @ApiModelProperty(value = "完工数量")
    @Excel(name = "完工数量")
    private Long wgNumber;

    /** 工单状态(新建1，已齐套2,已下发3，已完成4) */
    @ApiModelProperty(value = "工单状态(新建1，已齐套2,已下发3，已完成4)")
    @Excel(name = "工单状态(新建1，已齐套2,已下发3，已完成4)")
    private String orderState;

    /** 班组 */
    @ApiModelProperty(value = "班组")
    @Excel(name = "班组")
    private String team;

    /** 备注 */
    @ApiModelProperty(value = "备注")
    @Excel(name = "备注")
    private String remarks;

    /** 创建者 */
    private String createBy;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    /** 更新者 */
    private String updateBy;

    /** 更新时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date updateTime;

    /** 产品名称 */
    @ApiModelProperty(value = "产品名称")
    @TableField(exist = false)
    String productName;
}
